// PathTreeNode.h: interface for the CPathTreeNode class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PATHTREENODE_H__2ADF5955_3E3C_44AD_8E74_AB17A738AC37__INCLUDED_)
#define AFX_PATHTREENODE_H__2ADF5955_3E3C_44AD_8E74_AB17A738AC37__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CPathTreeNode  
{
public:
	CPathTreeNode();
	virtual ~CPathTreeNode();

	CString GetName();
	void SetName(CString);
	LONG64 GetLength();
	void SetLength(LONG64);

	BOOL AddChild(CPathTreeNode*);
	void ClearChild();
	CPathTreeNode* GetChild(int);
	int GetChildNum();

private:
	CString m_csFullPath;
	ULONG64 m_l64Length;
	ULONG64 m_l64TotalLength;
	BOOL m_bHaveChild;

	//parent node pointer
	CPathTreeNode* m_pParent;
	//child node pointer
	CArray <CPathTreeNode*, CPathTreeNode*> m_arrChild;

};

#endif // !defined(AFX_PATHTREENODE_H__2ADF5955_3E3C_44AD_8E74_AB17A738AC37__INCLUDED_)
